#ifndef _LUA_DISP_H_
#define _LUA_DISP_H_
/***********************************************************************
  *Copyright 2020-03-06, pyfree
  *
  *File Name       : luadisp.h
  *File Mark       : 
  *Summary         : 调用lua脚本
  *1）实现返回协议报文解析为信息点-值得数据集 
  *2）实现将下控信息点-值得数据信息转换为信道所需的协议报文
  *3）从脚本读取总召报文的解析
  *
  *Current Version : 1.00
  *Author          : pyfree
  *FinishDate      :
  *
  *Replace Version :
  *Author          :
  *FinishDate      :

 ************************************************************************/

#ifdef __cplusplus
extern "C" {
#endif

#include "lua.h"
#include "lauxlib.h"
#include "lualib.h"

#ifdef __cplusplus
}
#endif

#include <string>
#include <vector>
#include "Mutex.h"

class luadisp{
public:
	luadisp(void);
	~luadisp(void);
private:
	lua_State*  m_pLua;
	PYMutex m_lua_Mutex;
public:
	bool open(const char * path);
	bool close();
	bool getTotalCallCMD(std::string &_cmd, std::string &_errmsg,int &_type);
	bool getReciveIDVAL(const char* _cmd, std::string &_recives, std::string &_errmsg
		,std::string SpecificDesc="null");
	bool getDownControl(int exetype, int ptype, int addr,int val
		,std::string &_cmd, int &_checkType, std::string &_errmsg
		, unsigned int task_id = 0);
};

#endif
